#!/usr/bin/env node


// 用 setTimeout 实现 sleep 效果，
//console.log('start:')
// setTimeout(function(){
//     console.log('end')
// },2000)

// 用 Promise 实例和 setTimeout 封装 sleep 方法，让程序暂停执行若干毫秒
// function sleep(ms){
//     return new Promise(resolve =>{
//         setTimeout(resolve,ms)
//     });
// }

//testSleep为异步函数
// async function testSleep(){
//     console.log('start');
//     await sleep(2000);
//     console.log('end');
// }

// testSleep();

// 使用 node.js v15 引入的 Promise 版本的 setTimeout 实现 sleep
// 使用 Node.js 内置的 util.promisify 方法来将 setTimeout 转换为返回 Promise 的函数。
const { promisify } = require('util');
const setTimeoutPromise = promisify(setTimeout);

async function test(){
    console.log('start');
    await setTimeoutPromise(2000);
    console.log('end');
}

test();